#ifndef NMENUWINDOW_H_
#define NMENUWINDOW_H_

#include "../NWindow.h"
#include <string>
#include <vector>
#include <iostream>

using std::vector;
using std::string;
using namespace std;

/**
 * An NWindow class with specialized functions for generating menus.
 */
class NMenuWindow : public NWindow
{
	public:
		NMenuWindow();
        NMenuWindow(Point location, vector<string> newChoices);
        void show();
        int getChoice();
        void setChoices(vector<string> newChoices);
        void addChoice(string newChoice);
        void setLocation(Point newLocation);
		virtual ~NMenuWindow();
        void setShowNumbers(bool newSetting);
        void center();
    
    protected:
        void redraw();
        
        vector<string> choices;
        Point location;
        bool showNumbers;
        int offset;
        unsigned int selected;
        unsigned int menuWidth;
};

#endif /*NMENUWINDOW_H_*/
